import { addDiscuss } from '../../api/judge';
var API = require('../../utils/config');
Page({
    data: {
        orderId: '',
        content: '',
        files: [], // 存储选中的图片路径
        currentLength: 0,
        progress: 0
    },

    onLoad: function (options) {
        console.log(options);
        console.log("orderID：" + options.orderId);
        // 检查 options.id 是否存在
        if (options.orderId) {
            this.setData({
                orderId: options.orderId
            });
        } else {
            // 如果 options.id 不存在，提示用户并返回上一页
            wx.showToast({ title: '订单ID不存在', icon: 'none' });
            setTimeout(() => wx.navigateBack(), 1500);
        }
    },

    previewImage: function (e) {
        const current = e.currentTarget.dataset.src;
        wx.previewImage({
            current: current,
            urls: this.data.files
        });
    },

    onTextInput: function (e) {
        this.setData({
            content: e.detail.value,
            currentLength: e.detail.value.length,
            progress: Math.min((e.detail.value.length / 20) * 100, 100)
        });
    },

    chooseImage: function () {
        wx.chooseImage({
            count: 9, // 最多选择9张图片
            sizeType: ['compressed'], // 压缩图片
            sourceType: ['album', 'camera'], // 从相册或相机选择
            success: (res) => {
                // 将新选择的图片路径添加到 files 数组中
                this.setData({
                    files: this.data.files.concat(res.tempFilePaths)
                });
            }
        });
    },
    // 新增评论和新增图片是同一个方法
    // submitEvaluate: function () {
    //     const { orderId, content, files } = this.data;

    //     if (!content.trim()) {
    //         wx.showToast({ title: '请输入评价内容', icon: 'none' });
    //         return;
    //     }

    //     addDiscuss(orderId, content, files)
    //         .then((res) => {
    //             console.log("评论");
    //             console.log(res);
    //             wx.showToast({ title: '评论成功', icon: 'success' });
    //             setTimeout(() => wx.navigateBack(), 1500);
    //         })
    //         .catch((err) => {
    //             wx.showToast({ title: '评论失败: ' + (err.errMsg || err.message), icon: 'none' });
    //         });
    // }

    submitEvaluate: async function () {
        const { orderId, content, files } = this.data;
      
        // 检查 orderId 和 content 是否为空
        if (!orderId) {
          wx.showToast({ title: '订单ID不能为空', icon: 'none' });
          return;
        }
      
        if (!content.trim()) {
          wx.showToast({ title: '请输入评价内容', icon: 'none' });
          return;
        }
      
        wx.showLoading({ title: '提交中...', mask: true });
      
        try {
          // 1. 先提交评论（获取生成的 discussid）
          const discussRes = await new Promise((resolve, reject) => {
            wx.request({
              url: API.API+'/discuss/insertDiscuss',
              method: 'POST',
              data: { "orderid": orderId, "discusscontent": content },
              success: resolve,
              fail: reject
            });
          });
          console.log("打印出discussRes");
          console.log(discussRes);
          console.log(discussRes.data.data.discussid);
          // 检查请求是否成功
          if (discussRes.data.code !== 200) {
            throw new Error(`评论提交失败，状态码：${discussRes.statusCode}`);
          }
      
          // 确保返回数据中包含 discussid
          if (!discussRes.data.data.discussid) {
            throw new Error('评论提交失败，未获取到 discussid');
          }
      
          const discussId = discussRes.data.data.discussid;
          // 2. 上传所有图片（仅关联 discussid）
          if (files.length > 0) {
            await Promise.all(files.map(file =>
              new Promise((resolve, reject) => {
                wx.uploadFile({
                  url: API.API+'/upload/addImage',
                  filePath: file,
                  name: 'file',
                  formData: { discussid: discussId }, // 只传关联 ID
                  success: resolve,
                  fail: reject
                });
              })
            ));
          }
      
          wx.showToast({ title: '评论成功', icon: 'success' });
          setTimeout(() => wx.navigateBack(), 1500);
        } catch (err) {
          wx.showToast({ title: '提交失败: ' + (err.message || err.errMsg), icon: 'none' });
        } finally {
          wx.hideLoading();
        }
      }
});